package com.swak.paxos;

import com.swak.paxos.protocol.PaxosMessage;

/**
 * Acceptor.
 * 
 * @author DELL
 */
public interface Acceptor {

	/**
	 * 新一轮
	 */
	void newInstance();

	/**
	 * 收到 Prepare
	 * 
	 * @param message
	 */
	void onPrepare(PaxosMessage message);

	/**
	 * 收到 Accept
	 * 
	 * @param message
	 */
	void onAccept(PaxosMessage message);

	/**
	 * 校验是否确实接收了此 PaxosMessage.
	 * 
	 * @param message
	 * @return
	 */
	boolean checkAcceptBallot(PaxosMessage message);
}
